package com.ocm.tourism.core.dao;

import java.util.List;

import com.ocm.tourism.core.domain.Album;
import com.ocm.tourism.core.domain.Business;
import com.ocm.tourism.core.domain.BusinessType;
import com.ocm.tourism.core.model.SearchCriteria;

public interface BusinessDao extends GenericDao<Business> {

   boolean hasExisted(long id, long participantId);

   long count(BusinessType businessType);
   
   long count(BusinessType businessType, long participantId);

   Business findByPartcipantId(long id, long participantId);

   List<Business> findAll(BusinessType businessType);

   List<Business> findAll(int firstResult, int maxResults, BusinessType businessType);
   
   List<Business> findAll(int firstResult, int maxResults, BusinessType businessType, long participantId);
   
   Album findByBusiness(long id);
   
   void saveAlbum(Album album);

   List<Business> findBusinesses(SearchCriteria searchCriteria,int firstResult,int maxResults);
}
